package com.relytosoft.mizar.media.analyze.services.service.control;



import com.relytosoft.mizar.media.common.entity.algo.AYNonVehicle;
import com.relytosoft.mizar.media.common.entity.algo.AYPerson;
import com.relytosoft.mizar.media.common.entity.algo.AYVehicle;
import com.relytosoft.mizar.media.common.entity.algo.AYVideoSliceCommon;
import com.relytosoft.mizar.media.common.entity.pojo.dto.controlCondition.TextNonVehicleConditionDto;
import com.relytosoft.mizar.media.common.entity.pojo.dto.controlCondition.TextPeopleConditionDto;
import com.relytosoft.mizar.media.common.entity.pojo.dto.controlCondition.TextVehicleConditionDto;

import java.util.List;

/**
 * @author wss
 * @version 1.0
 * @date 2022/5/23 23:29
 */
public interface ControlTypeService {

    /**
     * 文本布控行人验证
     *
     * @param personList
     * @param textPeopleConditionDto
     * @return
     */
    Boolean textPeopleVerify(List<AYPerson> personList, TextPeopleConditionDto textPeopleConditionDto, AYVideoSliceCommon ayVideoSliceCommon);

    /**
     * 文本布控机动车验证
     *
     * @param vehicleList
     * @param textVehicleConditionDto
     * @return
     */
    Boolean textVehicleVerify(List<AYVehicle> vehicleList, TextVehicleConditionDto textVehicleConditionDto, AYVideoSliceCommon ayVideoSliceCommon);

    /**
     * 文本不空非机动验证
     *
     * @param nonVehicleList
     * @param textNonVehicleConditionDto
     * @return
     */
    Boolean textNonVehicleVerify(List<AYNonVehicle> nonVehicleList, TextNonVehicleConditionDto textNonVehicleConditionDto, AYVideoSliceCommon ayVideoSliceCommon);

}
